package main

import (
	"container/list"
	tr "tree"
)

func main() {
	//root := &tr.TreeNode{
	//	Val:   0,
	//	Left:  nil,
	//	Right: &tr.TreeNode{
	//		Val:   1,
	//		Left:  &tr.TreeNode{
	//			Val:   2,
	//			Left:  nil,
	//			Right: nil,
	//		},
	//		Right: &tr.TreeNode{
	//			Val:   3,
	//			Left:  nil,
	//			Right: nil,
	//		},
	//	},
	//}
	lst := list.New()
	lst.PushBack(0)
	lst.PushBack(nil)
	lst.PushBack(1)
	lst.PushBack(2)
	lst.PushBack(3)
	tr.PrintList(lst)
	root := tr.BuildTree(lst)

	lst2 := tr.Tree2list(root)
	tr.PrintList(lst2)

	tr.PreOrderPrint(root)
	tr.InOrderPrint(root)
}
